A computer network is a collection of interconnected computing devices that can exchange data and share resources. In a packet-based network, such as the Internet, the computing devices communicate data by dividing the data into small blocks called packets, which are individually routed across the network from a source device to a destination device. The destination device extracts the data from the packets and assembles the data into its original form.
Certain devices, referred to as routers, maintain routing information that describes available routes through the network. Each route defines a path between two locations on the network. Upon receiving an incoming packet, the router examines information within the packet and forwards the packet in accordance with the routing information. In order to maintain an accurate representation of a network, routers may maintain control-plane peering sessions through which they exchange routing or link state information that reflects the current topology of the network.
Periodic packets may be used to confirm liveliness. For example, periodic packets may be used to confirm connectivity and to indicate operational status of an application and/or device. Periodic packets may sometimes be referred to as “periodic messages,” “keep-alives,” “keep-alive packets,” “keep-alive messages,” “hellos,” “hello packets,” “hello messages,” “heartbeats,” “heartbeat packets,” or “heartbeat messages.”
As one example, routers typically send periodic packets to each other via the peering sessions to confirm connectivity and to indicate operational status of each device. The routers may use the periodic packets for network liveliness detection (e.g., to detect connectivity status with each other). For example, a router may send periodic packets to a peer router every 50 milliseconds (ms) to indicate that the router is still operational. Likewise, the router may detect reception of corresponding periodic packets from the peer router within the same period of time (e.g., 50 ms). When a periodic packet is not received in the allotted time frame, the router determines that a network event has occurred, such as failure of the peer router or failure of a link or node connecting the two routers. Consequently, the router may update various routing information to redirect network traffic and may issue a number of routing protocol update messages to neighboring routers indicating a topology change.
As another example, applications executing within a network environment frequently utilize heartbeat messaging schemes to monitor operational status of other applications within the network. For example, applications executing on network devices within a network environment may send periodic packets to each other to confirm connectivity and to indicate operational status of each device. For example, a first application executing on one network device may send periodic packets to a peer application executing on another network device every 50 milliseconds (ms) to indicate that the first application is still operational. Likewise, the application may detect reception of corresponding periodic packets from the peer application within the same period of time (e.g., 50 ms). When a threshold number of periodic packets have not been received in the allotted time frame, the application may determine that a session failure event has occurred, such as failure of the network device on which the peer application is executing or failure of a link or node connecting the two network devices or failure of the application itself. In response to the failure, the network device on which the peer application is executing may take certain actions, such as redirecting communications to a different peer application.
As another example, routers may exchange periodic packets by establishing a session provided by a protocol, such as the bidirectional forwarding detection (BFD) protocol. In accordance with the BFD protocol, a first router periodically sends BFD packets at a negotiated transmission time interval and detects a session failure event when the router does not receive a BFD packet from a second router within session detection time interval. For instance, a router may negotiate to receive BFD packets every 50 ms from a peer router and may independently utilize a detection multiplier of three (3) times that interval, i.e., 150 ms in this example, for detecting failure. If the receiving router does not receive a BFD packet from the peer router within the 150 ms session detection time interval, the receiving router detects a connectivity failure with respect to the second router. Consequently, the receiving router may update its routing information to route traffic around the second router.